1. Field of the Invention
The invention relates to a method for bus data transmissions, and more particularly to a method for bus data transmissions between a host and a device that is capable of handling abnormal bus conditions and resuming transmissions.
2. Description of the Related Art
Currently, data transmitted by packets are a common technique used in a bus for streaming data transmission. To achieve high bus utilization, multiple packets are packed into one data transmission. For the purpose of device memory resource management and to avoid unnecessary memory usage, a specific hardware e.g. a queue management unit (simply referred to as a QMU hereinafter) is designed to parse the transmission data and put the packets into the corresponding buffers instead of parsing the transmission data to the buffers by the software instruction. However, once the synchronization between the host and the QMU is lost, packets in the transmissions can't be correctly separated into the corresponding buffers.
For example, if a length field indicating the packet length of the data packet in the packet header is corrupted due to abnormal bus conditions such as a bus error, and a transmission is aborted or a similar error results in lost of synchronization and/or packet being damage, the QMU can't correctly separate packets from the transmission because the boundary between the packets is defined by the length field.
Thus, correctly retransmitting the damaged packets when abnormal bus conditions occur is an important issue.